home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 November / PCWorld_2003-11_cd.bin / Software / Topware / sandra / san2004-989-Win32-OCA.exe / {app} / examples / Oracle Schema.sql < prev    next >
Text File  |  2002-07-28  |  4KB  |  162 lines

  1.  
  2. --
  3. -- Oracle 7.3.3.x.x/8.0.4.x.x Schema for Sandra Report
  4. --
  5. -- Schema is assumed to have been created already.
  6. -- No extents included, please add as required.
  7. --
  8. -- Copyright 2001-2002, C. A. Silasi, SiSoftware.
  9. -- All Rights Reserved.
  10.  
  11. --
  12. -- Kill all tables
  13. --
  14.  
  15. DROP TABLE Item;
  16.  
  17. DROP TABLE ItemGroup;
  18.  
  19. DROP TABLE Device;
  20.  
  21. DROP TABLE Class;
  22.  
  23. DROP TABLE Module;
  24.  
  25. DROP TABLE Report;
  26.  
  27. DROP TABLE IDCount;
  28.  
  29. --
  30. -- Kill all sequences
  31. --
  32.  
  33. DROP SEQUENCE seqItem;
  34.  
  35. DROP SEQUENCE seqItemGroup;
  36.  
  37. DROP SEQUENCE seqDevice;
  38.  
  39. DROP SEQUENCE seqClass;
  40.  
  41. DROP SEQUENCE seqModule;
  42.  
  43. DROP SEQUENCE seqReport;
  44.  
  45. --
  46. -- Create new sequences
  47. --
  48.  
  49. CREATE SEQUENCE seqItem MINVALUE 1 MAXVALUE 1000000000 CYCLE;
  50.  
  51. CREATE SEQUENCE seqItemGroup MINVALUE 1 MAXVALUE 1000000000 CYCLE;
  52.  
  53. CREATE SEQUENCE seqDevice MINVALUE 1 MAXVALUE 1000000000 CYCLE;
  54.  
  55. CREATE SEQUENCE seqClass MINVALUE 1 MAXVALUE 1000000000 CYCLE;
  56.  
  57. CREATE SEQUENCE seqModule MINVALUE 1 MAXVALUE 1000000000 CYCLE;
  58.  
  59. CREATE SEQUENCE seqReport MINVALUE 1 MAXVALUE 1000000000 CYCLE;
  60.  
  61. --
  62. -- Create new tables
  63. --
  64.  
  65. CREATE TABLE Report (
  66.     ID            INTEGER PRIMARY KEY,
  67.     ProgramName        VARCHAR2(255),
  68.     ProgramVersion        VARCHAR2(255),
  69.     RegisteredUser        VARCHAR2(255),
  70.     RegisteredCompany    VARCHAR2(255),
  71.     LicenceStatus        VARCHAR2(255),
  72.     LicenceExtra        VARCHAR2(255),
  73.     UserID            VARCHAR2(255),
  74.     HostName        VARCHAR2(255),
  75.     SystemID        VARCHAR2(255),
  76.     WebUserID        VARCHAR2(255),
  77.     RunID            VARCHAR2(255),
  78.     RunDate            DATE DEFAULT SYSDATE,
  79.     Completed        NUMBER(1) NOT NULL
  80. );
  81.  
  82. CREATE TABLE Module (
  83.     ID            INTEGER PRIMARY KEY,
  84.     ReportID        INTEGER REFERENCES Report(ID),
  85.     Name            VARCHAR2(255) NOT NULL,
  86.     TypeID            INTEGER NOT NULL,
  87.     HasClass        NUMBER(1) NOT NULL,
  88.     HasDevice        NUMBER(1) NOT NULL,
  89.     HelpID            INTEGER NOT NULL
  90. );
  91.  
  92. CREATE TABLE Class (
  93.     ID            INTEGER PRIMARY KEY,
  94.     ModuleID        INTEGER REFERENCES Module(ID),
  95.     Name            VARCHAR2(255) NOT NULL,
  96.     TypeID            INTEGER NOT NULL,
  97.     HelpID            INTEGER NOT NULL
  98. );
  99.  
  100. CREATE TABLE Device (
  101.     ID            INTEGER PRIMARY KEY,
  102.     ModuleID        INTEGER REFERENCES Module(ID),
  103.     ClassID            INTEGER,
  104.     Name            VARCHAR2(255) NOT NULL,
  105.     TypeID            INTEGER NOT NULL,
  106.     HelpID            INTEGER NOT NULL
  107. );
  108.  
  109. CREATE TABLE ItemGroup (
  110.     ID            INTEGER PRIMARY KEY,
  111.     ModuleID        INTEGER REFERENCES Module(ID),
  112.     ClassID            INTEGER,
  113.     DeviceID        INTEGER,
  114.     Name            VARCHAR2(255) NOT NULL,
  115.     TypeID            INTEGER NOT NULL,
  116.     HelpID            INTEGER NOT NULL
  117. );
  118.  
  119. CREATE TABLE Item (
  120.     ID            INTEGER PRIMARY KEY,
  121.     ModuleID        INTEGER REFERENCES Module(ID),
  122.     GroupID            INTEGER,
  123.     Name            VARCHAR2(255) NOT NULL,
  124.     DataValue        VARCHAR2(255),
  125.     IconID            INTEGER NOT NULL,
  126.     TypeID            INTEGER NOT NULL,
  127.     HelpID            INTEGER NOT NULL
  128. );
  129.  
  130. CREATE TABLE IDCount (
  131.     TableName        VARCHAR2(10) PRIMARY KEY,
  132.     CurrentID        INTEGER NOT NULL
  133. );
  134.  
  135. --
  136. -- Set-up keys/indexes
  137. --
  138.  
  139. CREATE INDEX ndxUserID ON Report(UserID);
  140.  
  141. CREATE INDEX ndxSystemID ON Report(SystemID);
  142.  
  143. CREATE INDEX ndxWebUserID ON Report(WebUserID);
  144.  
  145. CREATE INDEX ndxModuleName ON Module(Name);
  146.  
  147. CREATE INDEX ndxItemName ON Item(Name);
  148.  
  149. --
  150. -- Inserts
  151. --
  152.  
  153. INSERT INTO IDCount (TableName, CurrentID) VALUES ('Item', 1);
  154. INSERT INTO IDCount (TableName, CurrentID) VALUES ('ItemGroup', 1);
  155. INSERT INTO IDCount (TableName, CurrentID) VALUES ('Device', 1);
  156. INSERT INTO IDCount (TableName, CurrentID) VALUES ('Class', 1);
  157. INSERT INTO IDCount (TableName, CurrentID) VALUES ('Module', 1);
  158. INSERT INTO IDCount (TableName, CurrentID) VALUES ('Report', 1);
  159.  
  160.  
  161.  
  162.